import {defineStore} from 'pinia'
import {ref} from 'vue'
import {UserGetInfoByToken} from '@/api/user.js'
import {AccessEnum} from "@/access/accessEnums.js";
export const userInfoStore = defineStore('userInfo',()=>{
    //定义用户信息
    const info = ref({
        username: "未登录",
    })
    //定义用户修改信息的方法
    const setInfo = (newInfo)=>{
        info.value = newInfo;
    }
    const removeInfo =()=>{
        info.value={};
    }
    // 远程请求得到一个当前登录状态的响应
    const fetchLoginUser = async () => {
        const res = await UserGetInfoByToken();
        console.log("res: ",res)
        console.log("res.data: ",res.data)
        if (res.code === 0 && res.data) {
            info.value = res.data;
        } else {
            // setTimeout(() => {
            //   loginUser.value = {
            //     id: 1,
            //     userName: "小方",
            //     userRole: AccessEnum.ADMIN,
            //   };
            // }, 2000);
            // 没有登录的情况下给用户在已有的一个属性的基础上加上一个userRole属性，表示用户未登录
            info.value = {
                username: "未登录",
                user_role: AccessEnum.NOT_LOGIN,
            };
        }
    };
    return {info,setInfo,removeInfo,fetchLoginUser};

},{
    persist : true
})